跳到主要内容

Workload Management

Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。

在kubernetes中,有很多类型的pod控制器,每种都有自己的适合的场景,常见的有下面这些:

  • **ReplicationController:**比较原始的pod控制器,已经由 ReplicaSet 替代

  • **ReplicaSet:**保证副本数量一直维持在期望值,并支持pod数量扩缩容,镜像版本升级

  • **Deployment:**通过控制ReplicaSet来控制Pod,并支持滚动升级、回退版本

  • **Horizontal Pod Autoscaler:**可以根据集群负载自动水平调整Pod的数量,实现削峰填谷

  • **DaemonSet:**在集群中的指定Node上运行且仅运行一个副本,一般用于守护进程类的任务

  • **Job:**它创建出来的pod只要完成任务就立即退出,不需要重启或重建,用于执行一次性任务

  • **Cronjob:**它创建的Pod负责周期性任务控制,不需要持续后台运行

  • **StatefulSet:**管理有状态应用